Systems for electronically scanning data symbols have been developed for various uses. Such systems, however, are generally limited by constraints on the character set, the requirement for a uniform scanning speed, or the awkward mechanical systems used to determine or control the position of the unit over the scanned optical information.
Most conventional optical character readers are cumbersome devices through which documents of various sizes are passed, with the documents moving through a reading zone. The document is carefully aligned and then scanned synchronously, i.e., at a fixed speed, to convert successive slices of the optical image on the document into digital form. The output digital data is computer-processed to identify the characters occupying the scanned field. In such systems, registration and synchronism between the scanning system and the document must be precisely controlled. Consequently, optical character readers typically involve relatively complex electro-mechanical optical subsystems. Accordingly, they are too expensive to be used economically in small, e.g., microcomputer, applications, such as word processing and personal computers.
In many merchandising operations, a bar code is read by an optical scanning device to provide accounting and inventory information for the merchandiser. The well defined spacing of the bars, together with their considerable length, enables hand-held or stationary scanning units to be used without requiring a uniform scanning speed or precise registration between the scanning system and the bar code tag.
One method for compensating a seven line bar code reader against the speed variations inherent in a hand-held scanning unit is shown in IBM Technical Disclosure Bulletin, Vol. 14, No. 8, pp. 2407-08, January, 1972. The bar code data are encoded in the six spaces between the seven vertical lines of a bar code. A unit distance between vertical lines corresponds to a logic zero, and a two unit distance corresponds to a logic one. The bar code character set is constrained so that the first space of each code is always a logic zero. In operation, the reader first measures the time spent reading the first unit space. Velocity variation is then controlled by measuring the read time of each subsequent digit and comparing it to that of the previous digit. If it is substantially equal to the first space read time, the second space read time is recognized as a logic zero and is then stored for comparison to the third space read time. If it is substantially longer than the first space read time, the second space read time is recognized as a logic one, divided in half, and stored for comparison to the third space read time. This cycle of reading a space and updating the reference time is repeated until the bar code is completely read. Although the IBM system is effective in certain applications, it is inapplicable when the character set is not constrained by known data at the beginning of each string. Furthermore, such a system cannot track the position of the sensor over uniform character data, such as all black or all white.
One optical text scanning system has recently been proposed as an adjunct to word processing systems to facilitate input of textual data into the memory of a computer. Such system is the Omni-Reader marketed by Oberon International. In the Omni-Reader, a page of text, printed in one of four standard type faces, is mounted on a scanning platform. A scanning head, mounted on a specially engineered guide rule, is moved manually over the text to convert the text into machine-readable form. Such system employs a single optical sensor and associated circuitry to sense a repeated, asymmetric pattern of dots and dashes on the guide rule, thereby to detect movement and scanning direction of the scanning head along the guide rule and to synchronize data acquisition with movement. Precise alignment of the text with the guide rule is required for proper operation. The Omni-Reader is, however, unable reliably to recognize dot matrx, newsprint, letterhead, graphics, foreign language, and handwritten materials.
U.S. Pat. No. 3,947,817 to Requa, deceased et al. shows an optical data reader for point-of-sale terminals which uses a two-dimensional self-scanned photodiode array in a hand-held scanning unit. The size of the array is chosen and the device is operated so that an entire character is scanned at one time. The constrained character set used on the inventory tags obviates the need to determine the relative spacing of the characters or to note the presence of blank areas.
U.S. Pat. No. 4,118,687 to McWaters et al. shows a portable optical character recognition system using a two-dimensional array of optical sensors. The optical sensors are described in the above Requa, deceased et al. patent. The disclosure of McWaters et al. is directed to the system's internal editing and formating functions, such as ignoring spaces in the text. U.S. Pat. No. 4,072,859 to McWaters discloses a control circuit to automatically remove power from the recognition circuits of the optical character recognition system when the hand-held scanner is not being used.
U.S. Pat. No. 3,713,100 to Hemstreet shows an optical character recognition system which compares the scanned data with a stored set of character data to identify the character being scanned. U.S. Pat. No. 3,713,099 to Hemstreet describes the conversion of scanned data into parallel form and its comparison with symbolic reference data. A comparison yields an analog output signal indicative of the degree of match.
U.S. Pat. No. 3,496,363 to Rome shows the use of nonparallel arrays of light-responsive elements in a scanner for tracking the position of a star in the sky.
None of the foregoing devices is capable of reliable, hand-held operation to scan unconstrained optical data and input such data into a computer as they are being scanned.
Accordingly, a need remains for an optical character reader which can operate manually at irregular speeds and with imperfect alignment, reliably to scan alphanumeric, graphic, and other optical data of any kind.